home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / gemfsc20 / gemfsc20.lzh / GEMFBIND / VLOCATOR.S < prev    next >
Text File  |  1993-03-26  |  1KB  |  54 lines

  1. ;*========================================================================
  2. ;* VDIFAST Public Domain VDI bindings.
  3. ;*========================================================================
  4.  
  5.  
  6. ;*------------------------------------------------------------------------
  7. ;* Input locator.
  8. ;*------------------------------------------------------------------------
  9.  
  10.           globl     _vsm_locator
  11. _vsm_locator:
  12.           globl     _vrq_locator
  13. _vrq_locator:
  14. ;    .cargs    #8,handle.w,x.w,y.w,xout.l,yout.l,term.l
  15.  
  16. handle      =         8
  17. x          =         10
  18. y          =         12
  19. xout      =         14
  20. yout      =         18
  21. term      =         22
  22.  
  23.           link        a6,#-4                ;* Allocate ptsout[2].
  24.  
  25. ;          VContrl    #28,,#1
  26.           move.w    handle(a6),-(sp)    ; contrl[6]
  27.           clr.l     -(sp)                ; contrl[5,4]
  28.           clr.l     -(sp)                ; contrl[3,2]
  29.           move.w    #1,-(sp)            ; contrl[1]
  30.           move.w    #28,-(sp)            ; contrl[0]
  31.  
  32.           pea        -4(a6)                ;* -> ptsout
  33.           move.l    term(a6),-(sp)        ;* -> intout
  34.           pea        x(a6)                ;* -> ptsin
  35.           subq.l    #4,sp                ;* -> intin
  36.           pea        16(sp)                ;* -> contrl
  37.  
  38.           move.l    sp,d1
  39.           jsr        vditrap
  40.  
  41.           move.l    xout(a6),a0         ;* Return x
  42.           move.w    -4(a6),(a0)         ;* from ptsout[0].
  43.           move.l    yout(a6),a0         ;* Return y
  44.           move.w    -2(a6),(a0)         ;* from ptsout[1].
  45.  
  46.           move.w    28(sp),d0            ;* Contrl[4] (number of intout's)
  47.           lsl.w     #1,d0                ;* Shifted by one, per specs, OR
  48.           or.w        24(sp),d0            ;* in Contrl[2] (number of ptsout's).
  49.  
  50.           unlk        a6
  51.           rts
  52.  
  53.           end
  54.